// package hn.cch.configuration;
//
// import org.springframework.boot.SpringApplication;
// import org.springframework.boot.env.EnvironmentPostProcessor;
// import org.springframework.core.env.ConfigurableEnvironment;
// import org.springframework.core.env.MutablePropertySources;
// import org.springframework.core.env.PropertiesPropertySource;
// import org.springframework.core.io.FileSystemResource;
// import org.springframework.core.io.support.PropertiesLoaderUtils;
// import org.springframework.util.StringUtils;
//
// import java.io.File;
// import java.util.Properties;
//
// public class EnvironmentPostProcessorImpl implements EnvironmentPostProcessor {
//
//     @Override
//     public void postProcessEnvironment(ConfigurableEnvironment configurableEnvironment, SpringApplication springApplication) {
//         String catalina = System.getProperty("catalina.home");
//         if (StringUtils.isEmpty(catalina)){
//             System.out.println("catalina.home is not exists");
//             return;
//         }
//         System.out.println("catalina.home:" + catalina);
//         File file = new File(catalina, "application.properties");
//         if (!file.exists()) {
//             System.out.println("outside is not exist, load inside file");
//             return;
//         }
//         System.out.println("outside file exist");
//         FileSystemResource resource = new FileSystemResource(file);
//         try {
//             Properties properties = PropertiesLoaderUtils.loadProperties(resource);
//             MutablePropertySources propertySources = configurableEnvironment.getPropertySources();
//             propertySources.addFirst(new PropertiesPropertySource("config", properties));
//             System.out.println("load outside success");
//         } catch (Exception e) {
//             System.out.println("load outside:" + e.getMessage());
//         }
//     }
//
//
// }
